// export const isProd = import.meta.env.PROD; //是否是生产环境，此方式会有问题，故弃用
// export const isProd = import.meta.env.MODE === "prod"; //是否是生产环境，因为import.meta.env.PROD在生产环境中不为true，所以暂时这样处理。本来应该是'production'，但是package.json中指定了 --mode prod

import customConsts from "@/custom/consts";

// export const isDev = import.meta.env.MODE === "dev"; //是否是开发环境，本来应该是'development'，但是package.json中指定了 --mode dev
export const isProd = process.env.NODE_ENV === "production"; //是否是生产环境
export const isDev = process.env.NODE_ENV === "development"; //是否是开发环境

export const emptyVals: ["", null, undefined] = ["", null, undefined]; //空值，凡遇此空值，则用“-”进行占位填充。看后期是否要考虑将 "undefined", "null" 这两个加入其中

export const defaultEmptyStr = customConsts?.emptyStr ?? "-"; // 空位占位符

import customConfig from "@/custom/config";

export const defaultRegexp = Object.assign(
  {
    onlyNum: /^[0-9.]+$/, //只匹配数字，至少一位，123或"123"均可
    lowerChar: /[a-z]+/, //小写字母
    //移动电话(中国，宽松)：只要是13,14,15,16,17,18,19开头即可
    phone: /^(?:(?:\+|00)86)?1[3-9]\d{9}$/,
    // 身份证号, 支持1/2代(15位/18位数字)
    identity:
      /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/,
    // 身份证号(1代,15位数字)
    identity_1: /^[1-9]\d{7}(?:0\d|10|11|12)(?:0[1-9]|[1-2][\d]|30|31)\d{3}$/,
    // 身份证号(2代,18位数字),最后一位是校验位,可能为数字或字符X
    identity_2:
      /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/,
    // 邮箱
    email:
      /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
    // 密码： 6-16位字母和数字组合
    password: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/,
    // 银行卡号
    creditCard: /^[1-9]\d{9,29}$/,
    // url地址
    url: /^(((ht|f)tps?):\/\/)?([^!@#$%^&*?.\s-]([^!@#$%^&*?.\s]{0,63}[^!@#$%^&*?.\s])?\.)+[a-z]{2,6}\/?/,
  },
  customConfig.regexp
);
